Skip to main content

mapTostring  arrarTostring


func arrarTostring(arr []interface{}) string {
sb := ""

sb += "["
for i := 0; i < len(arr); i++ {
if i != 0 {
sb += "&"
}

if sonArr, ok := arr[i].([]interface{}); ok {
sb += strconv.Itoa(i)
sb += "="
sb += arrarTostring(sonArr)

} else if ssmap, ok := arr[i].(map[string]interface{}); ok {
sb += strconv.Itoa(i)
sb += "="
sb += mapTostring(ssmap)

} else if str, ok := arr[i].(string); ok {

if str != "" {
sb += strconv.Itoa(i)
sb += "="
sb += str
} else {
sb += strconv.Itoa(i)
sb += "="
sb += "null"
}

} else if value, ok := arr[i].(int); ok {
sb += strconv.Itoa(i)
sb += "="
sb += strconv.Itoa(value)
}

}
sb += "]"
return sb
}

func mapTostring(smap map[string]interface{}) string {
sb := ""

sb += "{"

sortArr := []string{}
for k, _ := range smap {
sortArr = append(sortArr, k)
}
sort.Strings(sortArr)
for i := 0; i < len(sortArr); i++ {
if i != 0 {
sb += "&"
}
if arr, ok := smap[sortArr[i]].([]interface{}); ok {
sb += sortArr[i]
sb += "="
sb += arrarTostring(arr)
} else if ssmap, ok := smap[sortArr[i]].(map[string]interface{}); ok {
sb += sortArr[i]
sb += "="
sb += mapTostring(ssmap)
} else if str, ok := smap[sortArr[i]].(string); ok {

sb += sortArr[i]
sb += "="
sb += str
}

}
sb += "}"
return sb
}